/* 
  数组是定长，js语言会帮数组扩容。 
  特性：空间连续（线性），长度不可变。
  new Array（10） 声明数组长度。
  优缺点：查询快，但是存的数据是定量的，无法存储大量数据。
*/

// 链表
/* 
  用来解决空间不够，将大数据分成相互连接的小数据进行空间存放。

  特性：不连续，存放一个值同时会创建一个指针，指针代表下一个节点的位置。
  优缺点：链表的删除，添加容易，当a，b，c这个链表中，b被删除了，直接将b的空间删除，同时将a的指针指向c的位置。 但是
         查询数据慢，因为它无法向数组直接按照下标查询，只能通过根节点一个一个的查询下去，因此时间缓慢。 因为存放值的同时也同时存放了指针，所以增加了链表的空间，
         （当然这是在值和指针空间相同的情况下，比如双方都是一个字节，那么a，b，c原本只需要存放三个字节的内容，加上三个字节的指针，链表就需要六个字节的空间）。
  important： 对于指针和值都需要存放空间而造成的空间加倍的情况，可以扩大值所占用的空间而稀释指针对于节点的占比，因为指针一般空间是固定的，而值的空间取决的存储的数量。
             另外，对于根节点的认识，不仅仅链表的开头节点叫做根节点，链表中任何一个节点都可以叫做根节点，因为从任何一个节点都可以往下接着查询，哪怕是最后一个节点，也是根节点，只是后续的节点为空罢了。
*/
function Node(params) {
  this.value = params;
  this.next = null;
}

let a = new Node(1);  //当做构造函数创建的对象
console.log(a.value);
